import numpy as np, matplotlib.pyplot as plt # 导入数组工具以完成矩阵运算与数值检查
classroom_returns=np.array([-.06,-.03,-.02,-.01,0,.005,.01,.012,.02,.025,.04,.08]) # 建立固定收益示例数据以比较分箱
return_q05=np.quantile(classroom_returns,.05); loss_var95=np.quantile(-classroom_returns,.95) # 计算同一一期样本的收益左尾与正损失VaR
assert np.isclose(loss_var95,-return_q05) # 核对两种符号口径对应同一经济量
fig,axes=plt.subplots(1,2,figsize=(8,3.2)) # 设置图形编码、坐标或布局以匹配数据口径
checks=[] # 记录每个分箱或条件的核对依据
for ax,bins in zip(axes,[4,8]): # 逐项遍历规定对象并保留每轮计算依据
counts,edges,_=ax.hist(classroom_returns,bins=bins,edgecolor='white'); checks.append((bins,int(counts.sum()),edges)) # 建立固定收益示例数据以比较分箱
ax.set_title(f'{bins}箱'); ax.set_xlabel('收益率'); ax.set_ylabel('频数') # 设置图形编码、坐标或布局以匹配数据口径
plt.tight_layout(); plt.show() # 设置图形编码、坐标或布局以匹配数据口径
assert all(total==len(classroom_returns) for _,total,_ in checks) # 建立固定收益示例数据以比较分箱
print({'histogram_checks':checks,'return_q05':return_q05,'loss_var95':loss_var95,'confidence':'95%','holding_period':'1 period','estimator':'empirical quantile'}) # 同时报出分箱和VaR口径依据